package com.ruoyi.project.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;

/**
 * 直播间数据对象 live_room
 * 
 * @author david
 * @date 2025-06-11
 */
public class LiveRoom extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 直播间房间号
 */
    @Excel(name = "直播间Id")
    private String liveRoomId;

    /** 状态 */
    @Excel(name = "状态")
    private String state;

    /** 当前场次 */
    @Excel(name = "当前场次")
    private Long times;

    /** 直播间主播的id */
    @Excel(name = "主播Id")
    private String anchorOpenId;

    /** 主播头像 */
    @Excel(name = "主播头像")
    private String avatarUrl;

    /** 主播昵称 */
    @Excel(name = "主播昵称")
    private String nickName;

    /** 失败礼物页数 */
    @Excel(name = "失败礼物页数")
    private Long failGiftPageNum;

    /** 失败礼物是否查询完一整页，0是否，1是是 */
    @Excel(name = "失败礼物是否查询完一整页，0是否，1是是")
    private Long failGiftWholePage;

    /** 当前对局开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "当前对局开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startAt;

    /** 当前对局结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "当前对局结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endAt;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createAt;

    /** 数据变更时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "数据变更时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date updateAt;

    public void setLiveRoomId(String liveRoomId) 
    {
        this.liveRoomId = liveRoomId;
    }

    public String getLiveRoomId() 
    {
        return liveRoomId;
    }

    public void setState(String state) 
    {
        this.state = state;
    }

    public String getState() 
    {
        return state;
    }

    public void setTimes(Long times) 
    {
        this.times = times;
    }

    public Long getTimes() 
    {
        return times;
    }

    public void setAnchorOpenId(String anchorOpenId) 
    {
        this.anchorOpenId = anchorOpenId;
    }

    public String getAnchorOpenId() 
    {
        return anchorOpenId;
    }

    public void setAvatarUrl(String avatarUrl) 
    {
        this.avatarUrl = avatarUrl;
    }

    public String getAvatarUrl() 
    {
        return avatarUrl;
    }

    public void setNickName(String nickName) 
    {
        this.nickName = nickName;
    }

    public String getNickName() 
    {
        return nickName;
    }

    public void setFailGiftPageNum(Long failGiftPageNum) 
    {
        this.failGiftPageNum = failGiftPageNum;
    }

    public Long getFailGiftPageNum() 
    {
        return failGiftPageNum;
    }

    public void setFailGiftWholePage(Long failGiftWholePage) 
    {
        this.failGiftWholePage = failGiftWholePage;
    }

    public Long getFailGiftWholePage() 
    {
        return failGiftWholePage;
    }

    public void setStartAt(Date startAt) 
    {
        this.startAt = startAt;
    }

    public Date getStartAt() 
    {
        return startAt;
    }

    public void setEndAt(Date endAt) 
    {
        this.endAt = endAt;
    }

    public Date getEndAt() 
    {
        return endAt;
    }

    public void setCreateAt(Date createAt) 
    {
        this.createAt = createAt;
    }

    public Date getCreateAt() 
    {
        return createAt;
    }

    public void setUpdateAt(Date updateAt) 
    {
        this.updateAt = updateAt;
    }

    public Date getUpdateAt() 
    {
        return updateAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("liveRoomId", getLiveRoomId())
            .append("state", getState())
            .append("times", getTimes())
            .append("anchorOpenId", getAnchorOpenId())
            .append("avatarUrl", getAvatarUrl())
            .append("nickName", getNickName())
            .append("failGiftPageNum", getFailGiftPageNum())
            .append("failGiftWholePage", getFailGiftWholePage())
            .append("startAt", getStartAt())
            .append("endAt", getEndAt())
            .append("createAt", getCreateAt())
            .append("updateAt", getUpdateAt())
            .toString();
    }
}
